import java.util.List;

/**
 * 虚拟节点分布算法默认实现
 * @author xhf
 */
public abstract class AbstractDistribution implements IDistribution {
    protected List<Node> nodes;
    protected List<VirtualNode> virtualNodes;

    @Override
    public int hash(String key) {
        // 这里简单的使用字符串的哈希码，子类可重定义
        return key.hashCode();
    }

    @Override
    public List<VirtualNode> getVirtualNodes() {
        return virtualNodes;
    }

    @Override
    public abstract void addNodes(List<Node> nodes);
    @Override
    public abstract void removeNodes(List<Node> nodes);
    @Override
    public abstract Node search(String key);
}
